// //通过返回传入数组的指针的方式
// #include "stdio.h"
// // #include <iostream>
// // using namespace std;
// //定义指针函数
// int *copy(int array[], int a[], int n);
// int main(){
//     int size = 4;
//     int a2[4];
//     int a1[4] = {3, 5, 7 ,8};
//     int *p;
//     p = copy(a1, a2, size);
//     for (int i = 0; i < size; i++)
//     {
//         printf("p[%d] == %d\n", i, p[i]);
//     }    
//     // cout << p[0] << " " << p[1] << " "<<p[2] << " " << p[3] << endl;
//     system("pause");
//     return 0;
// }
// int *copy(int array[], int a[], int n)
// {
//     for(int i = 0; i < n; i++)
//         a[i] = array[i];
//     return a;
// }

//使用静态变量进行返回
#include<stdio.h>
//定义产生数组的函数
int *TestFuction();
int main(){
    int *p;
    p = TestFuction();
    while(*p != 0){
        printf("%d,,%d,,%d\n", &p,*&p,*p);
        p++;
    }
    system("pause");
    return 0;
}
int *TestFuction(){
    static int  test[5] = {8, 4, 5, 2, 7};
    return test;
}
// 为什么会打印出其他东西？？？？？？？？？？？？
